package com.wilutions.joa.example1; import javafx.collections.FXCollections; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.ComboBox; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; import com.wilutions.com.AsyncResult; import com.wilutions.com.BackgTask; import com.wilutions.com.ComException; import com.wilutions.com.Dispatch; import com.wilutions.joa.fx.TaskPaneFX; import com.wilutions.mslib.office.CustomTaskPane; import com.wilutions.mslib.office.MsoCTPDockPosition; import com.wilutions.mslib.outlook.OlItemType; public class MyTaskPane extends TaskPaneFX { @Override public void showAsync(CustomTaskPane taskPane, AsyncResult<Boolean> asyncResult) throws ComException { taskPane.setDockPosition(MsoCTPDockPosition.msoCTPDockPositionBottom); super.showAsync(taskPane, asyncResult); } @Override public Scene createScene() throws ComException { // Creating a GridPane container GridPane grid = new GridPane(); grid.setPadding(new Insets(10, 10, 10, 10)); grid.setVgap(5); grid.setHgap(5); // Defining the Name text field TextField name = new TextField(); name.setPromptText("Enter your 111 name."); name.setPrefColumnCount(10); name.getText(); GridPane.setConstraints(name, 0, 0); grid.getChildren().add(name); // Defining the Last Name text field final TextField lastName = new TextField(); lastName.setPromptText("Enter your last name."); GridPane.setConstraints(lastName, 0, 1); grid.getChildren().add(lastName); // Defining the Comment text field final TextField comment = new TextField(); comment.setPrefColumnCount(15); comment.setPromptText("Enter your comment."); GridPane.setConstraints(comment, 0, 2); grid.getChildren().add(comment); // Defining the Submit button Button submit = new Button("Submit"); GridPane.setConstraints(submit, 1, 0); grid.getChildren().add(submit); // Defining the Clear button Button clear = new Button("Hide Task Pane"); GridPane.setConstraints(clear, 1, 1); grid.getChildren().add(clear); ComboBox<String> cbCats = new ComboBox<String>(FXCollections.observableArrayList("alpha", "beta", "gamma")); GridPane.setConstraints(cbCats, 0, 3); grid.getChildren().add(cbCats); final Scene scene = new Scene(grid); submit.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent event) { // Stage dialog = new Stage(); // dialog.initStyle(StageStyle.UTILITY); // Scene scene = new Scene(new Group(new Text(25, 25, // "Hello World!"))); // dialog.setScene(scene); // dialog.show(); BackgTask.run(() -> { try { Dispatch mailItem = (Dispatch) MyOutlookAddin.getInstance().getApplication() .CreateItem(OlItemType.olMailItem); mailItem._call("Display"); } catch (Throwable e) { e.printStackTrace(); } }); } }); clear.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent event) { try { customTaskPane.setVisible(false); } catch (ComException e) { e.printStackTrace(); } } }); return scene; } }